package com.gqz.equip.app.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.equip.app.entity.TEnWzEquipEntity;
import com.gqz.equip.vo.TEnWzEquipBqVo;
import com.gqz.equip.vo.TEnWzEquipVo;
import com.gqz.equip.vo.TEquipByTypeVo;
import com.gqz.equip.vo.WzEquipTjVo;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;


/**
 * 新能溝设备信杯
 *
 * @Date 2022-10-25 10:17:32
 * @Version 1.0
 * @Author input you name
 */
public interface MqTEnWzEquipService extends IService<TEnWzEquipEntity> {

    /**
     * 通过id 获坖 信杯新能溝设备信杯
     *
     * @param id 设备主键
     * @return 新能溝设备信杯
     */
    List<TEnWzEquipVo> getById(String id);

    /**
     * 分页 获坖 信杯 新能溝设备信杯
     *
     * @param requestForm 查询体body
     * @return page 新能溝设备信杯
     */
    Page<TEnWzEquipVo> page(RequestForm<TEnWzEquipVo> requestForm);

    /**
     * 分页 获坖 数針新能溝设备信杯
     *
     * @param requestForm 查询体body
     * @return page 新能溝设备信杯
     */
    Long count(RequestForm<TEnWzEquipVo> requestForm);

    /**
     * 新增记录
     *
     * @param vos 记录数杮
     * @return 影哝的条数num
     */
    int insert(List<TEnWzEquipVo> vos);

    /**
     * 修改记录
     *
     * @param vos 记录数杮
     * @return 影哝的条数num
     */
    int update(List<TEnWzEquipVo> vos);

    /**
     * 分页 获坖 信杯 新能溝设备标签信杯
     *
     * @param requestForm 查询体body
     * @return page 新能溝设备标签信杯
     */
    Page<TEnWzEquipBqVo> pageBqList(RequestForm<TEnWzEquipBqVo> requestForm);

    /**
     * 通过id 获坖 信杯新能溝设备标签信杯
     *
     * @param id 设备主键
     * @return 新能溝设备标签信杯
     */
    List<TEnWzEquipBqVo> getBqxxById(String id);

    /**
     * 获坖二维砝
     *
     * @param vos 设备主键
     * @return 新能溝设备标签信杯
     */
    Integer creatEwmByList(List<TEnWzEquipVo> vos);

    /**
     * 信杯新能溝设备导出信杯
     *
     * @param requestForm 查询体body
     * @return 新能溝设备信杯
     */
    List<TEnWzEquipBqVo> getList(TEnWzEquipBqVo requestForm);

    /**
     * 根杮设备类型分组排庝查询数針
     */
    List<TEquipByTypeVo> queryByEquipType();

    /**
     * @author: huangLb
     * @description: 根据设备编号s查询对应设备信息集合-要求拆分完的size不得大于1000,否则无法获取正常数据
     */
    List<TEnWzEquipVo> queryEquipByEquipNos(String equipNos);

    /**
     * @param requestForm
     * @Description: 导出excel
     * @return: void
     */
    void exportExcel(HttpServletResponse response, RequestForm<TEnWzEquipBqVo> requestForm);

    /**
     * 根据设备类型进行统计
     */
    WzEquipTjVo wzEquipTj(TEnWzEquipVo vos);
}
